/**
 * 认证相关工具函数
 */

/**
 * 检查是否已登录
 * @returns {boolean}
 */
export function isLoggedIn() {
	const token = uni.getStorageSync('token');
	const userInfo = uni.getStorageSync('userInfo');
	return !!(token && userInfo);
}

/**
 * 获取用户信息
 * @returns {Object|null}
 */
export function getUserInfo() {
	return uni.getStorageSync('userInfo');
}

/**
 * 获取token
 * @returns {string|null}
 */
export function getToken() {
	return uni.getStorageSync('token');
}

/**
 * 保存登录信息
 * @param {Object} loginData - 登录数据
 */
export function saveLoginInfo(loginData) {
	uni.setStorageSync('token', loginData.token);
	uni.setStorageSync('userInfo', loginData.user_info);
	uni.setStorageSync('isLoggedIn', true);
}

/**
 * 清除登录信息
 */
export function clearLoginInfo() {
	uni.removeStorageSync('token');
	uni.removeStorageSync('userInfo');
	uni.removeStorageSync('isLoggedIn');
}

/**
 * 检查token是否有效
 * @returns {Promise<boolean>}
 */
export async function checkTokenValid() {
	const token = getToken();
	if (!token) {
		return false;
	}
	
	try {
		// 这里可以调用服务器接口验证token
		// 暂时返回true，后续可以添加token验证逻辑
		return true;
	} catch (error) {
		console.error('Token验证失败:', error);
		return false;
	}
}

/**
 * 自动登录检查
 * @returns {Promise<boolean>}
 */
export async function autoLogin() {
	if (!isLoggedIn()) {
		return false;
	}
	
	const isValid = await checkTokenValid();
	if (!isValid) {
		clearLoginInfo();
		return false;
	}
	
	return true;
} 